#ifndef NEOICON_H
#define NEOICON_H

#include "def.h"
#include <QIcon>

#define NeoIconInstance NeoIcon::getInstance()

class NeoIcon : public QObject
{
    Q_OBJECT
    NEO_SINGLETON_CREATE(NeoIcon)
public:
    NeoIcon(QObject *parent = nullptr);
    ~NeoIcon();

    QIcon getNeoIcon(NeoIconType::FontAwesomeSolid type, QColor iconColor = Qt::black, int pixelSize = 10, int fixedWidth = 16, int fixedHeight = 16);
    QIcon getNeoIcon(NeoIconType::FontAwesomeRegular type, QColor iconColor = Qt::black, int pixelSize = 10, int fixedWidth = 16, int fixedHeight = 16);
    QIcon getNeoIcon(NeoIconType::FontAwesomeBrands type, QColor iconColor = Qt::black, int pixelSize = 10, int fixedWidth = 16, int fixedHeight = 16);

    QPixmap getNeoPixmap(NeoIconType::FontAwesomeSolid type, QColor iconColor = Qt::black, int pixelSize = 10, int fixedWidth = 16, int fixedHeight = 16);
    QPixmap getNeoPixmap(NeoIconType::FontAwesomeRegular type, QColor iconColor = Qt::black, int pixelSize = 10, int fixedWidth = 16, int fixedHeight = 16);
    QPixmap getNeoPixmap(NeoIconType::FontAwesomeBrands type, QColor iconColor = Qt::black, int pixelSize = 10, int fixedWidth = 16, int fixedHeight = 16);
};

#endif